#ifndef __CLI_PARSE__PROJECTILE_H__
#define __CLI_PARSE__PROJECTILE_H__

#include "../../Epsilon/Epsilon3D/vector3.h"

namespace cli_parse {

  class Projectile {
  public:
    Projectile (e3dVector3& pos, e3dVector3& vel);

    void Update (void);

    e3dVector3 origin;
    e3dVector3 velocity;
    e3dVector3 color; // TEMP HACK to use projectiles to debug dynamic lights...
    float      speed; // Keep separate from velocity (needs to be normalized...)
    float      last_update;
  };

  /* TODO: Move these into cli_parse::States ... */

  void        FireProjectile    (e3dVector3 pos, e3dVector3 velocity);
  void        UpdateProjectiles (void);
  Projectile* GetProjectile     (int idx);
  int         GetNumProjectiles (void);
};

#endif /* __CLI_PARSE__PROJECTILE_H__ */
